package io.adrainty.bolee.insurance.models.entity;

import io.adrainty.bolee.framework.commons.basic.BaseEntity;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/26 上午12:57
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "保险收益订单")
@EqualsAndHashCode(callSuper = true)
public class WarrantyEarningsOrderEntity extends BaseEntity {

    @Serial
    private static final long serialVersionUID = -8321240652138494245L;

    @Schema(description = "订单编号")
    private String orderNo;

    @Schema(description = "当期赔付")
    private BigDecimal premium;

    @Schema(description = "保单编号")
    private String warrantyNo;

    @Schema(description = "当前期数")
    private String currentPeriod;

    @Schema(description = "计划时间")
    private LocalDateTime scheduleTime;

    @Schema(description = "实际时间")
    private LocalDateTime actualTime;

    @Schema(description = "状态（0未赔付 1已赔付 2 断保中止 3断保终止）")
    private String orderState;

    @Schema(description = "投保人姓名")
    private String applicantName;

    @Schema(description = "投保人身份证号码")
    private String applicantIdentityCard;

    @Schema(description = "排序")
    private Integer sortNo;

    @Schema(description = "批量操作：主键ID")
    private String[] checkedIds;

    @Schema(description = "数据状态：0正常 1禁用")
    private EnableEnum dataState;

}
